// RenderUnitMgr.cpp

#include "stdafx.h"

#include "RenderUnitMgr.h"

CRenderUnitMgr::CRenderUnitMgr(void)
{
	m_iter = m_setRenderUnit.end();
}

CRenderUnitMgr::~CRenderUnitMgr()
{

}

void CRenderUnitMgr::Insert(CD3D9RenderUnit *pUnit)
{
	m_setRenderUnit.push_back(pUnit);
}

void CRenderUnitMgr::Delete(CD3D9RenderUnit *pUnit)
{

}

CD3D9RenderUnit* CRenderUnitMgr::GetUnit(int nUnitIndex) const
{
	return m_setRenderUnit.at(nUnitIndex);
}

CD3D9RenderUnit* CRenderUnitMgr::GetFirstUnit(void)
{
	if (m_setRenderUnit.empty())
	{
		return NULL;
	}

	m_iter = m_setRenderUnit.begin();
	return (*m_iter);
}

CD3D9RenderUnit* CRenderUnitMgr::GetNextUnit(void)
{
	if (m_setRenderUnit.empty() || m_iter == m_setRenderUnit.end() || ++m_iter == m_setRenderUnit.end())
	{
		return NULL;
	}

	return (*m_iter);
}